﻿using System.Collections.Generic;

namespace Equinoxe.EZNFC.Library
{
    /// <summary>
    /// 
    /// </summary>
    /// <remarks></remarks>
    public class NFCDeviceInfo
    {
        /// <summary>
        /// Gets the character sets available.
        /// </summary>
        /// <remarks></remarks>
        public IEnumerable<DeviceCharset> CharacterSetsAvailable { get;  set; }
        // Bauds
        /// <summary>
        /// Gets the bauds available.
        /// </summary>
        /// <remarks></remarks>
        public IEnumerable<int> BaudsAvailable { get;  set; }
        // LCD
        /// <summary>
        /// Gets a value indicating whether this instance has LCD.
        /// </summary>
        /// <remarks></remarks>
        public bool HasLCD { get;  set; }


        /// <summary>
        /// Gets or sets a value indicating whether the LCD can show graphics.
        /// </summary>
        /// <value><c>true</c> if [graphic LCD]; otherwise, <c>false</c>.</value>
        /// <remarks></remarks>
        public bool GraphicLCD { get; set; }
        /// <summary>
        /// Gets the number of LCD columns.
        /// </summary>
        /// <remarks></remarks>
        public int NumberOfLCDColumns { get;  set; }

        /// <summary>
        /// Gets the number of LCD rows.
        /// </summary>
        /// <remarks></remarks>
        public int NumberOfLCDRows { get;  set; }

        // SAM
        /// <summary>
        /// Gets the number of SAM slots.
        /// </summary>
        /// <remarks></remarks>
        public int NumberOfSAMSlots { get;  set; }

        /// <summary>
        /// Gets or sets the name of the device.
        /// </summary>
        /// <value>The name of the device.</value>
        /// <remarks></remarks>
        public string DeviceName { get; set; }

        /// <summary>
        /// Gets or sets the manufacturer.
        /// </summary>
        /// <value>The manufacturer.</value>
        /// <remarks></remarks>
        public string Manufacturer { get; set; }

        /// <summary>
        /// Gets or sets the number of LEDs.
        /// </summary>
        /// <value>The number of LEDs.</value>
        /// <remarks></remarks>
        public int NumberOfLEDs { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether this instance has a buzzer.
        /// </summary>
        /// <value><c>true</c> if this instance has buzzer; otherwise, <c>false</c>.</value>
        /// <remarks></remarks>
        public bool HasBuzzer { get; set; }

        public int LCDContrastLevels { get; set; }
    }
}
